home *** CD-ROM | disk | FTP | other *** search
- MultiDesk 1.13 (9 Sep 1995)
- ----------------------------
-
-
- Introduction
- ------------
-
- MultiDesk provides a 'Virtual Desktop' - a desktop which is many times
- larger than your normal computer display.
-
- MultiDesk displays a map of the virtual desktop, which is updated in
- real time. You can change the part of the virtual desktop that is
- displayed on your monitor, and also drag windows (or groups of windows)
- around the virtual desktop.
-
- MultiDesk requires RISC OS 3.10 or later.
-
- MultiDesk supports interactive help, so run !Help and !MultiDesk
- together to find out how to use it.
-
- Read on for a slightly fuller description.
-
-
-
-
- What MultiDesk does
- -------------------
-
- When MultiDesk is run, it will install a multi-coloured icon on your
- iconbar.
-
- Clicking SELECT on this iconbar icon (or choosing 'Open Window' from the
- iconbar menu) will open MultiDesk's main window. This shows a
- scaled-down version of the virtual desktop, displaying all the windows
- that are currently open.
-
- Each window is represented as a coloured rectangle, with as much of the
- window's title displayed as possible.
-
- You can drag the windows around inside MultiDesk's main window with
- SELECT or ADJUST. When this is done, the corresponding 'real' window
- will also move around the screen/virtual desktop. When you drag/resize
- real windows, the corresponding rectangle in MultiDesk's main window
- will change accordingly.
-
- Holding down ALT while dragging will move windows in screensize steps.
- This is useful when you want to preserve a windows position within a
- screen-size area.
-
- If you click/drag on a window with SELECT, it will come to the top of
- the window stack. If you use ADJUST, the window will stay at the same
- position in the window stack.
-
- If you start dragging a window with <Shift> down, all windows owned by
- the same application will also be dragged.
-
- If you start dragging a window with <Ctrl> down, all windows in the same
- area of the virtual desktop (ie. the same screen-size rectangle) will
- also be dragged.
-
- If you change screen-mode while MultiDesk is running, all windows will
- be moved so that they are in approximately the same 'screen' area of the
- virtual desktop. This means that if you change (for example) to Mode 0
- and then back again, all your windows will be in (approximately) the
- same position as before.
-
-
-
- Moving around the Virtual Desktop
- ---------------------------------
-
- MultiDesk's main window is divided into rectangles. These correspond to
- the physical size of your screen. The part of the virtual desktop that
- is currently being displayed on your monitor is shown with a red border.
-
- The iconbar icon has a small coloured rectangle for each screen-size
- area in the virtual desktop, with a black circle showing which part of
- the virtual desktop is being shown on your monitor (the area which is
- outlined in red in MultiDesk's main window).
-
- There are three ways of looking at a different part of the virtual
- desktop:
-
- 1) double click inside MultiDesk's main window anywhere inside the
- screen-sized area you want to move to. It is best to do this with
- the Adjust button so that you don't inadvertently bring a window to
- the top.
-
- 2) Click with ADJUST on one of the coloured squares on the iconbar
- icon.
-
- 3) Hold down the Alt key and press a cursor key. This moves to the next
- screen-sized area in the virtual desktop, either above, below, to
- the left, or to the right of area currently visible.
-
- NB, Note that Acorn don't like programs to respond to Alt-keypresses,
- because Alt is supposed to be reserved for generating special
- characters. To turn the key-detection off, change line 3 of the Basic
- program !MultiDesk.MakeMod to be 'detect_hotkey% = FALSE'.
-
-
- MultiDesk remembers which window in each screen-area had input focus the
- last time the screen-area was displayed, and restores input focus to
- this window when the view is moved back to the screen-area. This
- facility can be turned off in the 'Choices' window - see below.
-
-
-
- Iconbar menu
- ------------
-
- This contains the usual Info and Quit items, plus the following:
-
- 'Help' loads this !Help file into your text-editor.
-
- 'Open Window' will open the main window which shows the virtual
- desktop (clicking SELECT on the iconbar icon is easier
- though).
-
- 'Recall windows' moves all windows to the part of the virtual desktop
- which is currently visible.
- (When you quit MultiDesk, all windows are automatically
- recalled.)
-
- 'Choices...' Opens a dialogue box in which you can set various
- options. See later on for more info.
-
- The submenu of the 'Quit' menu item allows you to quit while leaving all
- windows in their present position. Also, your display will move to the
- top-left of the virtual desktop (otherwise even restarting MultiDesk
- would not give access to windows above and to the left of the current
- position - MultiDesk will start off assuming the visual area of the
- desktop is at the top-left of the virtual desktop).
-
- If you do this, there is no easy way of getting non-visible windows back
- without running MultiDesk again. Also, if the directory which contains
- !MultiDesk is open and not in the visible region of the virtual desktop,
- you won't even be able to start MultiDesk; to help matters, type
- 'recallwindows' in a taskwindow to get all the windows back (this
- command is set in the !Run file as an alias).
-
-
-
-
-
- Other things
- ------------
-
- Something to be aware of: if you have a directory-window open somewhere
- on the virtual desktop, re-opening this directory will not move the
- directory window to the visible screen, so you might have to search for
- it elsewhere on the virtual desktop. If there is sufficient interest,
- I'll look for a way of detecting re-opening of such windows and
- moving them to the visible region.
-
- While MultiDesk is running, windows can be dragged off the screen in all
- directions, regardless of how you configure your machine with
- !Configure.
-
- MultiDesk attempts to display windows in its main window using the right
- colour. However, a lot of windows don't actually have a colour (the
- window's application draws in the background colour itself), and these
- will be displayed as blue.
-
- The title text in MultiDesk's main window is displayed with special
- justification which tries to always show the leafname of titlebar
- filenames.
-
- Re-opening MultiDesk's main window (eg by clicking with SELECT on the
- iconbar icon) always forces a re-scan of the window-stack.
-
- If you set, in the Choices window, the scale to be very small,
- MultiDesk's main window might show a bigger virtual desktop than it
- should. This is because the main window's back/close/toggle icons mean
- that it has a minimum size.
-
- If you press Alt-cursorkey to move around the virtual desktop, you
- Alt-cursor keypress will be sent to whatever window currently has input
- focus, which can cause some programs to treat the Alt-cursor as a
- conventional cursor key. MultiDesk will try to stop this happening, but
- the keypress will only be acted on *after* you desktop has finished
- redrawing in the new position within the virtual desktop. The code
- which stops Alt-cursorkey's from reaching applications checks
- whether the Alt key is down. Hence to avoid Alt-cursor presses being
- treated as normal keypresses, you need to hold down the Alt key until
- after the screen has stopped redrawing, so that the code which stops the
- Alt-cursors knows that the keypress was used by MultiDesk to move around
- the virtual desktop.
-
-
-
- Options - the 'Choices' window
- ------------------------------
-
- All options can be changed in the 'Choices' window - see the iconbar
- menu. You can save options to disc (where they will be stored inside the
- !MultiDesk application directory in the file 'Choices'), and they will
- automatically be loaded the next time MultiDesk is run.
-
- You can set the delay (in 100ths of a second) between checking for any
- windows which have been opened but not dragged, and the delay (again in
- 100ths of a second) between re-scanning every window's titlebar, in case
- they have changed.
-
- When you move to a different part of the virtual desktop which contains
- a window which previously held the input focus, MultiDesk will move the
- input focus to this window. This can be turned off.
-
- You can also set the font which MultiDesk uses in its display. If you
- don't select 'Outline font', MultiDesk will use the system font scaled
- to be as small as possible.
-
-
- 'Factory settings' are:
-
- Virtual desktop width: 2
- Virtual desktop height: 4
- Display scale: 12 %
- Window delay: 200 cs
- Window title delay: 1000 cs
- Auto input-focus: On
- Text display: 8 point Trinity-medium
-
-
-
-
- Things to do
- ------------
-
- Have an option to emulate the !Configure option to only allow windows
- off the screen downwards and to the right when they are being dragged
- conventionally. This might be tricky - would have to allow windows off
- the screen when they are being dragged by MultiDesk, for eg.
-
- Make the iconbar icon show a smaller version of the main-window display.
-
-
-
- How it works
- ------------
-
- MultiDesk traps all calls to the SWIs Wimp_Open/Close/DeleteWindow, so
- that it knows exactly what windows are open, and their position and
- size.
-
- Unfortunately, this doesn't detect menu-windows opening/closing, so
- MultiDesk checks the whole window stack every 2 seconds to make sure it
- is up to date. It also checks every window's titlebar every 10 seconds
- (you can change these update times - see below). You can see the virtual
- desktop display update in this manner when you open menus, for eg.
-
- Note that MultiDesk will execute a *configure command when it is run to
- allow windows to be moved off the screen. Your original setting is
- restored when MultiDesk quits.
-
-
-
-
-
- Other Stuff
- -----------
-
- MultiDesk uses DeskLib extensively. This has made it much easier to
- write than would have been the case. Thanks to Jason Williams et al for
- this freeware C library.
-
- Thanks also to Domonic Symes for the Zap text editor, Martin Ebourne for
- the C-code Zap mode, Dick Alstein for TemplEd, Mike Enderby for many
- helpful comments and beta testing and to Clive Jones, Dick Alstein, Andy
- Southgate and Andy Armstrong for help on intercepting Wimp_ SWIs. Thanks
- also to Simon Proven for improvements to MultiDeskModule.
-
- This program is freeware. It may NOT me used in connection with any
- profit-making activities without my permission. Please contact me if you
- want to distribute MultiDesk in a PD library.
-
- MultiDesk is copyright Julian Smith 1994, 1995.
-
-
- ************************************************************************
- * *
- * If you find this program useful, you might like to make a donation *
- * to Amnesty International, say £5, by sending me a cheque made out to *
- * them. I shall send you new versions of MultiDesk as they become *
- * available if you do this, and I'll also be more likely to add *
- * features/bug fixes for you. *
- * *
- ************************************************************************
-
-
- Also, please let me know if you have any comments, problems, suggestions
- or praise, or have found a bug.
-
-
-
-
- - Julian Smith
-
-
- -------------------------
- julian.smith@psy.ox.ac.uk
- -------------------------
-
- or:
-
- -------------------------------------
- Department of Experimental Psychology
- South Parks Road
- Oxford
- OX1 3UD
- UK
- -------------------------------------
-